In the consumer electronics era there is an increasing demand for small, portable devices into which text can be entered, such as personal digital assistants, notebook computers, pagers, cellular telephones and similar devices. In such devices there is a need for entry of a rich alphabet of characters. For example, the Roman alphabet has 26 characters, which can be represented in upper and lower case. Additionally, non-alphabet characters need to be entered, such as digits, punctuation marks and the like. In other languages, such as Chinese, the number of characters needed to be entered is even greater.
In conflict with this need for a rich set of characters is the confinement of space that accompanies a portable device. There is a demand for fewer and fewer keys on a keyboard. It is not always acceptable to merely reduce the size of keys in order to provide a full set of characters in a confined space. Users have limited dexterity and are unsatisfied with a full keyboard comprising very small keys.
To address this conflict between the need for a rich set of characters and a limited set of keys, proposals have been put forward for disambiguation of data entry, where pressing of a key gives an ambiguous character entry and where a dictionary and a language model are used to disambiguate and determine which individual character is intended. Such approaches are of limited value. Such approaches have difficulty handling out-of-vocabulary word entry and can be frustrating to the user.
What is needed, therefore, is a data entry device and a method of data entry enabling character-by-character input from a device having a limited set of keys. What is needed is a method of uniquely (or with minimal ambiguity) identifying individual characters for entry from individual key entry actions by a user.